home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / utility / ffe101.zip / GRAPH.SWG / 0023_TIFF.pas < prev    next >
Pascal/Delphi Source File  |  1996-09-04  |  25KB  |  633 lines

  1. --------I-TIFF------------------------------
  2.  
  3. The  TIFF  file format was designed  jointly by Aldus and Microsoft with
  4. leading  scanner vendors to faciliate  incorporating scanned images into
  5. publishing.  The  described TIFF specification is  TIFF 5.0. A TIFF file
  6. consists  of  several different blocks which  define the palette data or
  7. the  LZW-compressed  body  among  other things.  TIFF  files  can  be in
  8. Motorola  _or_  Intel byte order, depending on  the first word. If it is
  9. 'II',  the  byte order is in Intel order,  if  it is 'MM', then you have
  10. Motorola byte ordering.
  11.  
  12. Each  TIFF  file begins with a image  file header which points to one or
  13. more  image  file  directories, which contain  the  image data and image
  14. information.
  15.  
  16. The format of the image header :
  17. OFFSET              Count TYPE   Description
  18. 0000h                   2 char   ID='II', ID='MM'
  19.                                  This is the identification, 'II' stands for
  20.                                  Intel byte order, 'MM' for Motorola byte
  21.                                  order. The following data must be interpreted
  22.                                  accordingly !
  23. 0002h                   1 word   TIFF "version number". This version number
  24.                                  never changed and the value (42) was choosen
  25.                                  for its deep philosophical value. In fact, if
  26.                                  the version number ever changes, this means
  27.                                  that radical changes to the TIFF format have
  28.                                  been made, and a TIFF reader should give up
  29.                                  immediately.
  30.                                  You can consider this word to be a part of the
  31.                                  header ID.
  32. 0004h                   1 dword  Offset of first image directory in file form
  33.                                  start of file.
  34.                                  The first image directory must begin on an
  35.                                  even byte boundary. The image directory may
  36.                                  follow the image data it describes. The
  37.                                  image directory is described below.
  38.  
  39. An organization may wish to store information that is meaningful to only
  40. that  organization  in  a TIFF file.  Tags  numbered 32768 or higher are
  41. reserved for that purpose. Upon request, the administrator will allocate
  42. and  register  a  block  of private  tags  for  an organization. Private
  43. enumerated values can be accommodated in a similar fashion.
  44.  
  45. The format of the image file directory (IFD) :
  46. All entries are sorted in ascending order by the tag field.
  47. OFFSET              Count TYPE   Description
  48. 0000h                   1 word   Number of entries
  49.                                  ="NUM"
  50. 0002h               "NUM" rec    Field descriptor
  51.                         1 word   Field tag, see below
  52.                         1 word   Field type
  53.                                    1 - byte
  54.                                    2 - ASCII string, counted in length.
  55.                                        Most often an ASCIIZ string, the
  56.                                        trailing zero is counted with the
  57.                                        data length.
  58.                                    3 - word
  59.                                    4 - dword / uword
  60.                                    5 - rational (2 dwords, numerator and denominator)
  61.                         1 dword  Length of the field in units of the data type.
  62.                                  A single 16-bit word has the length 1.
  63.                         1 dword  Data offset of the field. The data starts
  64.                                  on a word boundary, thus the dword should
  65.                                  be even. The data for the field may be
  66.                                  anywhere in the file, even after the image
  67.                                  data. If the data size is less or equal to
  68.                                  4 bytes (determined by the field type and
  69.                                  length), then this offset is not a offset
  70.                                  but instead the data itself, to save space.
  71.                                  If the data size is less than 4 bytes, the
  72.                                  data is stored left-justified within the 4
  73.                                  bytes of the offset field.
  74. 0002h+
  75.  "NUM"*12               1 dword  Offset of next IFD in file, 0 if none follow
  76.  
  77. If  a  certain field in the IFD does  not exist, you have to presume the
  78. default values. The different fields are :
  79.  
  80. --- BitsPerSample
  81. Tag  = 258  (102)
  82. Type = word
  83. N    = SamplesPerPixel
  84. Default = 1
  85.  
  86. Number  of bits per sample. Note that this tag allows a different number
  87. of  bits  per  sample  for each  sample  corresponding  to  a pixel. For
  88. example,  RGB color data could use a different number of bits per sample
  89. for each of the three color planes.
  90.  
  91. --- ColorMap
  92. Tag  = 320 (140)
  93. Type = word
  94. N    = 3 * (2**BitsPerSample)
  95. No default.ColorMap must be included in all palette color images.
  96.  
  97. This  tag  defines a Red-Green-Blue color  map for palette color images.
  98. The palette color pixel value is used to index into all 3 subcurves. The
  99. subcurves  are stored sequentially. The Red entries come first, followed
  100. by  the  Green entries, followed by the  Blue entries. The width of each
  101. entry  is  16  bits, as implied by  the  type  of word. 0 represents the
  102. minimum intensity, and 65535 represents the maximum intensity.
  103.  
  104. --- ColorResponseCurves
  105. Tag  = 301 (12D)
  106. Type = word
  107. N    = 3 * (2**BitsPerSample)
  108. Default: curves based on the NTSC recommended gamma of 2.2.
  109.  
  110. This  tag  defines three color response  curves, one each for Red, Green
  111. and  Blue color information. The Red entries come first, followed by the
  112. Green entries, followed by the Blue entries. The length of each subcurve
  113. is  2**BitsPerSample, using the BitsPerSample value corresponding to the
  114. respective  primary.  The width of each entry  is 16 bits, as implied by
  115. the  type of word. The purpose of the color response curves is to refine
  116. the content of RGB color images.
  117.  
  118. --- Compression
  119. Tag  = 259  (103)
  120. Type = word
  121. N    = 1
  122. Default = 1.
  123.  
  124. 1  =  No compression, but pack data  into  bytes as tightly as possible,
  125.      with  no  unused  bits except at the  end  of  a row. The bytes are
  126.      stored  as  an  array  of bytes,  for  BitsPerSample  <= 8, word if
  127.      BitsPerSample > 8 and <= 16, and dword if BitsPerSample > 16 and <=
  128.      32.  The byte ordering of data >8 bits must be consistent with that
  129.      specified  in  the  TIFF  file header  (bytes  0  and  1). Rows are
  130.      required to begin on byte boundaries.
  131.  
  132. 2  =  CCITT Group 3 1-Dimensional  Modified Huffman run length encoding.
  133.      See  ALGRTHMS.txt  BitsPerSample  must  be  1,  since  this type of
  134.      compression is defined only for bilevel images (like FAX images...)
  135.  
  136. 3  =  Facsimile-compatible  CCITT  Group  3,  exactly  as  specified  in
  137.      "Standardization  of  Group  3  facsimile  apparatus  for  document
  138.      transmission,"  Recommendation  T.4,  Volume  VII,  Fascicle VII.3,
  139.      Terminal  Equipment  and  Protocols  for  Telematic  Services,  The
  140.      International   Telegraph  and   Telephone  Consultative  Committee
  141.      (CCITT),  Geneva, 1985, pages 16 through  31. Each strip must begin
  142.      on  a  byte  boundary. (But recall that  an  image  can be a single
  143.      strip.) Rows that are not the first row of a strip are not required
  144.      to begin on a byte boundary. The data is stored as bytes, not words
  145.      -  byte-reversal  is not allowed.  See  the Group3Options field for
  146.      Group 3 options such as 1D vs 2D coding.
  147.  
  148. 4  =  Facsimile-compatible  CCITT  Group  4,  exactly  as  specified  in
  149.      "Facsimile  Coding Schemes and Coding Control Functions for Group 4
  150.      Facsimile  Apparatus,"  Recommendation  T.6,  Volume  VII, Fascicle
  151.      VII.3, Terminal Equipment and Protocols for Telematic Services, The
  152.      International   Telegraph  and   Telephone  Consultative  Committee
  153.      (CCITT),  Geneva, 1985, pages 40 through  48. Each strip must begin
  154.      on  a byte boundary. Rows that are not the first row of a strip are
  155.      not  required  to begin on a byte  boundary.  The data is stored as
  156.      bytes, not words. See the Group4Options field for Group 4 options.
  157.  
  158. 5 = LZW Compression, for grayscale, mapped color, and full color images.
  159.      See ALGRTHMS.txt
  160.  
  161. 32773  = PackBits compression, a simple  byte oriented run length scheme
  162.          for 1-bit images. See Appendix C.
  163.  
  164. Data  compression  only applies to raster  image  data, as pointed to by
  165. StripOffsets.
  166.  
  167. --- GrayResponseCurve
  168. Tag  = 291 (123)
  169. Type = word
  170. N    = 2**BitsPerSample
  171.  
  172. The  purpose of the gray response curve and the gray units is to provide
  173. more  exact photometric interpretation information  for gray scale image
  174. data, in terms of optical density.
  175.  
  176. --- GrayResponseUnit
  177. Tag  = 290 (122)
  178. Type = word
  179. N    = 1
  180. For historical reasons, the default is 2. However, for greater accuracy,
  181. 3 is recommended.
  182.  
  183.   1 = Number represents tenths of a unit.
  184.   2 = Number represents hundredths of a unit.
  185.   3 = Number represents thousandths of a unit.
  186.   4 = Number represents ten-thousandths of a unit.
  187.   5 = Number represents hundred-thousandths of a unit.
  188.  
  189. --- ImageLength
  190. Tag  = 257  (101)
  191. Type = word or dword
  192. N    = 1
  193. No default.
  194.  
  195. The  image's length (height) in pixels  (Y:vertical). The number of rows
  196. (sometimes described as "scan lines") in the image.
  197.  
  198. --- ImageWidth
  199. Tag  = 256  (100)
  200. Type = word or dword
  201. N    = 1
  202. No default.
  203.  
  204. The  image's  width, in pixels (X:horizontal).  The number of columns in
  205. the image.
  206.  
  207. --- NewSubfileType
  208. Tag =  254  (FE)
  209. Type = dword
  210. N = 1
  211. Default is 0.
  212.  
  213. A  general  indication  of the kind of  data  that  is contained in this
  214. subfile. This field is made up of a set of 32 flag bits. Unused bits are
  215. expected to be 0. Bit 0 is the low-order bit.
  216.  
  217.           Currently defined values for the bitmap are:
  218.             0 - Image is reduced of another TIFF image in this file
  219.             1 - Image is a single page of a multi-page
  220.             2 - Image is a transparency mask for another image in this file
  221.  
  222. --- PhotometricInterpretation
  223. Tag  = 262  (106)
  224. Type = word
  225. N    = 1
  226. No default.
  227.  
  228. 0 =  For bilevel  and grayscale  images:   0 is  imaged as white.
  229.      2**BitsPerSample-1 is  imaged as  black.    If  GrayResponseCurve
  230.      exists,  it   overrides  the   PhotometricInterpretation   value.
  231.  
  232. 1 =  For bilevel  and grayscale  images:   0 is  imaged as black.
  233.      2**BitsPerSample-1  is  imaged  as  white.  If  GrayResponseCurve
  234.      exists,  it   overrides  the   PhotometricInterpretation   value.
  235.  
  236. 2 =  RGB.  In the RGB model, a color is described as a combination
  237.      of the  three primary  colors of  light (red, green, and blue) in
  238.      particular concentrations.   For  each of  the three  samples,  0
  239.      represents minimum intensity, and 2**BitsPerSample - 1 represents
  240.      maximum intensity. For PlanarConfiguration = 1, the samples are stored in
  241.      the indicated  order:   first Red,  then Green,  then Blue.   For
  242.      PlanarConfiguration =  2, the  StripOffsets for the sample planes
  243.      are stored  in the  indicated order:   first the Red sample plane
  244.      StripOffsets, then  the Green  plane StripOffsets,  then the Blue
  245.      plane StripOffsets.
  246.  
  247. 3 =  "Palette color."     In this  mode, a color is described with a
  248.      single sample.   The  sample is  used as  an index into ColorMap.
  249.      The sample  is used to index into each of the red, green and blue
  250.      curve tables to retrieve an RGB triplet defining an actual color.
  251.      When this  PhotometricInterpretation value  is  used,  the  color
  252.      response curves  must also  be supplied.  SamplesPerPixel must be
  253.      1.
  254.  
  255. 4 =  Transparency Mask.   This  means that  the image  is used to
  256.      define an  irregularly shaped region of another image in the same
  257.      TIFF  file.     SamplesPerPixel  and  BitsPerSample  must  be  1.
  258.      PackBits compression  is recommended.    The  1-bits  define  the
  259.      interior of  the region;  the 0-bits  define the  exterior of the
  260.      region.  The Transparency Mask must have the same ImageLength and
  261.      ImageWidth as the main image.
  262.  
  263. PlanarConfiguration
  264. Tag  = 284  (11C)
  265. Type = word
  266. N    = 1
  267. Default is 1.
  268.  
  269. 1  =  The sample values for each  pixel are stored contiguously, so that
  270.      there  is  a single image  plane.  See PhotometricInterpretation to
  271.      determine  the order of the samples  within the pixel data. So, for
  272.      RGB data, the data is stored RGBRGBRGB...and so on.
  273.  
  274. 2  =  The samples are stored in  separate "sample planes." The values in
  275.      StripOffsets   and   StripByteCounts   are   then   arranged  as  a
  276.      2-dimensional  array, with SamplesPerPixel  rows and StripsPerImage
  277.      columns.  (All of the columns for  row 0 are stored first, followed
  278.      by  the  columns  of row  1,  and so on.) PhotometricInterpretation
  279.      describes the type of data that is stored in each sample plane. For
  280.      example,  RGB  data  is stored with  the  Red samples in one sample
  281.      plane, the Green in another, and the Blue in another.
  282.  
  283. If  SamplesPerPixel is 1, PlanarConfiguration  is irrelevant, and should
  284. not be included.
  285.  
  286. Predictor
  287. Tag  = 317 (13D)
  288. Type = word
  289. N    = 1
  290. Default is 1.
  291.  
  292. To be used when Compression=5 (LZW).
  293.  
  294. 1 = No prediction scheme used before coding.
  295. 2 = Horizontal differencing. See Appendix I.
  296.  
  297. ResolutionUnit
  298. Tag  = 296 (128)
  299. Type = word
  300. N    = 1
  301. Default is 2.
  302.  
  303. To be used with XResolution and YResolution.
  304.  
  305. 1 =  No absolute  unit of  measurement.  Used for images that may
  306.      have a  non-square  aspect  ratio,  but  no  meaningful  absolute
  307.      dimensions.   The drawback  of ResolutionUnit=1 is that different
  308.      applications will  import the  image at different sizes.  Even if
  309.      the decision  is quite  arbitrary, it might be better to use dots
  310.      per inch  or  dots  per  centimeter,  and  pick  XResolution  and
  311.      YResolution such that the aspect ratio is correct and the maximum
  312.      dimension of  the image is about four inches (the "four" is quite
  313.      arbitrary.)
  314. 2 = Inch.
  315. 3 = Centimeter.
  316.  
  317. RowsPerStrip
  318. Tag  = 278  (116)
  319. Type = word or dword
  320. N    = 1
  321. Default is  2**32 -  1, which  is effectively infinity.  That is,
  322. the entire  image is  one strip.   Recomended is a strip size of 8K.
  323.  
  324. The number  of rows  per strip.  The image data is organized into
  325. strips for  fast access  to individual  rows  when  the  data  is
  326. compressed - though this field is valid even  if the  data is not
  327. compressed.
  328.  
  329. --- SamplesPerPixel
  330. Tag  = 277  (115)
  331. Type = word
  332. N    = 1
  333. Default = 1.
  334.  
  335. The number  of samples  per pixel.    SamplesPerPixel  is  1  for
  336. bilevel, grayscale, and palette color images.  SamplesPerPixel is
  337. 3 for RGB images.
  338.  
  339. --- StripByteCounts
  340. Tag  = 279  (117)
  341. Type = word or dword
  342. N    = StripsPerImage for PlanarConfiguration equal to 1.
  343.      = SamplesPerPixel  * StripsPerImage  for PlanarConfiguration equal to 2
  344. No default.
  345.  
  346. For each strip, the number of bytes in that strip.  The existence
  347. of  this   field  greatly   simplifies  the  chore  of  buffering
  348. compressed data, if the strip size is reasonable.
  349.  
  350. --- StripOffsets
  351. Tag  = 273  (111)
  352. Type = word or dword
  353. N    = StripsPerImage for PlanarConfiguration equal to 1.
  354.      = SamplesPerPixel  * StripsPerImage  for PlanarConfiguration equal to 2
  355. No default.
  356.  
  357. For each  strip, the  byte offset  of that  strip.  The offset is
  358. specified with  respect to  the beginning of the TIFF file.  Note
  359. that this  implies that  each strip has a location independent of
  360. the locations  of other  strips.   This feature may be useful for
  361. editing applications.  This field is the only way for a reader to
  362. find the image data, and hence must exist.
  363.  
  364. --- XResolution
  365. Tag  = 282  (11A)
  366. Type = RATIONAL
  367. N    = 1
  368. No default.
  369.  
  370. The number of pixels per ResolutionUnit in the X direction, i.e.,
  371. in the  ImageWidth direction.
  372.  
  373.  
  374. --- YResolution
  375. Tag  = 283  (11B)
  376. Type = RATIONAL
  377. N    = 1
  378. No default.
  379.  
  380. The number of pixels per ResolutionUnit in the Y direction, i.e.,
  381. in the ImageLength direction.
  382.  
  383. --- Artist
  384. Tag  = 315  (13B)
  385. Type = ASCII
  386.  
  387. Person who created the image. Copyright notice.
  388.  
  389. --- DateTime
  390. Tag  = 306  (132)
  391. Type = ASCII
  392. N    = 20
  393.  
  394. Date  and time of image creation. Uses the format "YYYY:MM:DD HH:MM:SS",
  395. with  hours on a 24-hour clock, and one space character between the date
  396. and the time. The length of the string, including the null, is 20 bytes.
  397.  
  398. --- HostComputer
  399. Tag  = 316  (13C)
  400. Type = ASCII
  401.  
  402. "ENIAC", or whatever.
  403.  
  404. --- ImageDescription
  405. Tag  = 270 (10E)
  406. Type = ASCII
  407.  
  408. For example,  a user  may wish  to attach a comment such as "1988 company
  409. picnic" to an image.
  410.  
  411. --- Make
  412. Tag  = 271  (10F)
  413. Type = ASCII
  414.  
  415. Manufacturer of the scanner, video digitizer, or whatever.
  416.  
  417. --- Model
  418. Tag  = 272  (110)
  419. Type = ASCII
  420.  
  421. The model name/number of the scanner, video digitizer, or whatever.
  422. This tag is intended for user information only so format is arbitrary.
  423.  
  424. --- Software
  425. Tag  = 305  (131)
  426. Type = ASCII
  427.  
  428. Name and  release number of the software package that created the image.
  429. User information only.
  430.  
  431. --- Group3Options
  432. Tag  = 292  (124)
  433. Type = dword
  434. N    = 1
  435.  
  436. Those  options  are for fax-images stored  in TIFF format. This field is
  437. made  up of a set of 32 flag bits.  Unused bits are expected to be 0. It
  438. is probably not safe to try to read the file if any bit of this field is
  439. set that you don't know the meaning of.
  440.  
  441.  Bit map :
  442.  0 - 2-dimensional coding used.
  443.  1 - Image is uncompressed
  444.  2 - Fill bits have been added before EOL codes, so that EOL always ends on a
  445.      byte boundary.
  446.  
  447. --- Group4Options
  448. Tag  =  293  (125)
  449. Type = dword
  450. N    = 1
  451.  
  452. This  field  is  made up of a set of  32  flag  bits and is used for the
  453. images  with fax group 4 compression. Unused  bits are expected to be 0.
  454. It is probably not safe to try to read the file if any bit of this field
  455. is  set that you don't know the  meaning of. Gray scale and color coding
  456. schemes are under study, and will be added when finalized.
  457.  
  458. For 2-D coding, each strip is encoded as if it were a separate image. In
  459. particular, each strip begins on a byte boundary; and the coding for the
  460. first row of a strip is encoded independently of the previous row, using
  461. horizontal  codes, as if the previous  row is entirely white. Each strip
  462. ends with the 24-bit end-of-facsimile block (EOFB).
  463.  
  464. Bit map :
  465.          0 - reserved (unused)
  466.          1 - uncompressed mode is used
  467.       2-31 - reserved
  468.  
  469. --- DocumentName
  470. Tag  = 269  (10D)
  471. Type = ASCII
  472.  
  473. The name of the document from which this image was scanned.
  474.  
  475. --- PageName
  476. Tag  = 285  (11D)
  477. Type = ASCII
  478.  
  479. The name of the page from which this image was scanned.
  480.  
  481. --- PageNumber
  482. Tag  = 297  (129)
  483. Type = word
  484. N    = 2
  485.  
  486. This  tag  is  used  to specify page  numbers  of  a multiple page (e.g.
  487. facsimile)  document. Two word values are  specified. The first value is
  488. the  page  number; the second value is  the total number of pages in the
  489. document.  Note that pages need not appear in numerical order. The first
  490. page is 0 (zero).
  491.  
  492. --- XPosition
  493. Tag  = 286  (11E)
  494. Type = RATIONAL
  495.  
  496. The  X  offset of the left side of  the  image, with respect to the left
  497. side of the page, in ResolutionUnits.
  498.  
  499. --- YPosition
  500. Tag  = 287  (11F)
  501. Type = RATIONAL
  502.  
  503. The  Y  offset of the top of the  image,  with respect to the top of the
  504. page,  in ResolutionUnits. In the TIFF coordinate scheme, the positive Y
  505. direction is down, so that YPosition is always positive.
  506.  
  507. --- White Point
  508. Tag  = 318 (13E)
  509. Type = RATIONAL
  510. N    = 2
  511. Default is the SMPTE white point, D65:  x = 0.313, y = 0.329.
  512.  
  513. The  white  point of the image. Note  that this value is described using
  514. the  1931  CIE  xyY chromaticity diagram  and  only  the chromaticity is
  515. specified.  The luminance component is arbitrary and not specified. This
  516. can  correspond  to  the  white point of  a  monitor  that the image was
  517. painted  on, the filter set/light source combination of a scanner, or to
  518. the  white  point of the illumination  model of a rendering package. The
  519. ordering is x, y.
  520.  
  521.  
  522. --- PrimaryChromaticities
  523. Tag  = 319 (13F)
  524. Type = RATIONAL
  525. N    = 6
  526. Default is the SMPTE primary color chromaticities:
  527.  
  528.                Red: x = 0.635 y = 0.340
  529.                Green:    x = 0.305 y = 0.595
  530.                Blue:     x = 0.155 y = 0.070
  531.  
  532. The  primary color chromaticities. Note  that these values are described
  533. using  the 1931 CIE xyY chromaticity diagram and only the chromaticities
  534. are  specified.For  paint images, these  represent the chromaticities of
  535. the  monitor  and  for scanned images  they  are derived from the filter
  536. set/light source combination of a scanner. The ordering is red x, red y,
  537. green x, green y, blue x, blue y.
  538.  
  539. --- SubfileType
  540. Tag  = 255  (FF)
  541. Type = word
  542. N    = 1
  543.  
  544. A  general  indication  of the kind of  data  that  is contained in this
  545. subfile. Currently defined values are:
  546.  
  547. 1   =  full  resolution  image   data  -  ImageWidth,  ImageLength,  and
  548.      StripOffsets are required fields
  549. 2  =  reduced  resolution  image  data  -  ImageWidth,  ImageLength, and
  550.      StripOffsets  are  required  fields. It  is  further assumed that a
  551.      reduced  resolution image is a reduced version of the entire extent
  552.      of the corresponding full resolution data.
  553. 3  =  single  page  of  a  multi-page  image  (see  the  PageNumber  tag
  554. description).
  555.  
  556. Continued  use of this field is  not recommended. Writers should instead
  557. use the new and more general NewSubfileType field.
  558.  
  559. --- Orientation
  560. Tag  = 274 (112)
  561. Type = word
  562. N    = 1
  563. Default is 1.
  564.  
  565. 1 =  The 0th  row represents the visual top of the image, and the 0th column
  566.      represents the visual left hand side.
  567. 2 =  The 0th  row represents the visual top of the image, and the 0th column
  568.      represents the visual right hand side.
  569. 3 =  The 0th  row represents  the visual bottom of the image, and the 0th column
  570.      represents the visual right hand side.
  571. 4 =  The 0th  row represents  the visual bottom of the image, and the 0th column
  572.      represents the visual left hand side.
  573. 5 =  The 0th row represents the visual left hand side of the image, and the 0th
  574.      column represents the visual top.
  575. 6 =  The 0th row represents the visual right hand side of the image, and the 0th
  576.      column represents the visual top.
  577. 7 =  The 0th row represents the visual right hand side of the image, and the 0th
  578.      column represents the visual bottom.
  579. 8 =  The 0th row represents the visual left hand side of the image, and the 0th
  580.      column represents the visual bottom.
  581.  
  582. It  is  extremely costly for most  readers to perform image rotation "on
  583.  the  fly", i.e., when importing and printing; and users of most desktop
  584.  publishing   applications  do  not  expect   a  file  imported  by  the
  585.  application to be altered permanently in any way.
  586.  
  587. Threshholding
  588. Tag  = 263  (107)
  589. Type = word
  590. N    = 1
  591.  
  592. 1 =  a bilevel "line art"  scan. BitsPerSample must be 1.
  593. 2 =  a "dithered" scan, usually of continuous tone data such as photographs.
  594.      BitsPerSample must be 1.
  595. 3 =  Error Diffused.
  596.  
  597. ColorImageType
  598. Tag  = 318 (13E)
  599. Type = word
  600. N    = 1
  601. Default is 1.
  602.  
  603. Gives TIFF color image readers a better idea of what kind of color image
  604. it is. There will be borderline cases.
  605.  
  606. 1 = Continuous tone, natural image.
  607. 2 = Synthetic image, using a greatly restricted range of colors.
  608.     Such images are produced by most color paint programs. See ColorList for
  609.     a list of colors used in this image.
  610.  
  611. ColorList
  612. Tag  = 319 (13F)
  613. Type = BYTE or word
  614. N    = the number of colors that are used in this image, times SamplesPerPixel
  615.  
  616. A  list of colors that are used in this image. Use of this field is only
  617. practical  for images containing a greatly restricted (usually less than
  618. or  equal  to  256)  range of  colors.  ColorImageType  should be 2. See
  619. ColorImageType.
  620.  
  621. The  list is organized as an array of RGB triplets, with no pad. The RGB
  622. triplets are not guaranteed to be in any particular order. Note that the
  623. red,  green,  and  blue  components can either  be  a  BYTE or a word in
  624. length. BYTE should be sufficient for most applications.
  625.  
  626. EXTENSION:TIF,TIFF
  627. OCCURENCES:PC,MAC,UNIX
  628. PROGRAMS:Aldus Pagemaker, Paintbrush
  629. REFERENCE:
  630. SEE ALSO:
  631. VALIDATION:
  632.  
  633.